home *** CD-ROM | disk | FTP | other *** search
/ Adobe Digital Video Collection / Digital Video Collection CD.iso / After Effects 5.5 / MMScriptFre.Cab / F115595_dbspring.mm < prev    next >
Encoding:
Text File  |  2001-12-07  |  1.2 KB  |  39 lines

  1. // Ressort double - Version 1.3
  2.  
  3. // Ce script relie les calques 1 et 2 par un ressort.
  4. // Chacun des calques conserve la vitesse qu'il possΘdait
  5. // au dΘbut de la zone de travail.
  6.  
  7. //      CALQUE                                    PROPRIETE                  DIMENSION
  8. //      -------                                    ----------                  ---------- 
  9. // 1: Premier calque                         indiffΘrent                   indiffΘrent
  10. // 2: Second calque                           indiffΘrent                   indiffΘrent
  11.  
  12. if (time() == start_time) {
  13.     rest_length = 50;                         // Longueur du ressort au repos, en pixels
  14.    damp = 0.95;                                        // Frottements (0 = infinis, 1 = nuls)
  15.  
  16.     p1 = value(pop_layer(1), position);
  17.     p2 = value(pop_layer(2), position);
  18.  
  19.     last_p1 = tmap(time() - step_time, value(pop_layer(1), position));
  20.     last_p2 = tmap(time() - step_time, value(pop_layer(2), position)); 
  21.  
  22.     v1 = (p1 - last_p1);
  23.     v2 = (p2 - last_p2);
  24. } else {
  25.     delta = p2 - p1;
  26.     n_delta = normalize(delta);
  27.  
  28.     a = n_delta * (length(delta) - rest_length) * step_time;
  29.  
  30.     v2 = (v2 - a) * damp;
  31.     v1 = (v1 + a) * damp;
  32.  
  33.     p1 = p1 + v1;
  34.     p2 = p2 + v2;
  35. }
  36. value(pop_layer(1), position) = p1;
  37. value(pop_layer(2), position) = p2;
  38.  
  39.